home *** CD-ROM | disk | FTP | other *** search
- ü
- Multiripper tutorial part 3 - Decrunchers
- -----------------------------------------
-
- þ
- Not only is Multi-ripper an excellent module ripper, but it is
- also the best executable ripper that I know of, doing a much better
- job than larger rippers such as ExoticRipper.
-
- Multiripper allows you to unpack executables into the memory, and
- then examine the uncrunched contents for music modules. Lot's of
- different kinds of decrunchers are detectable, including almost all of
- the classic ones, and all of the exotic decrunchers used by coding
- groups such as Paradox and Red Sector.
-
- This next part of the tutorial is hopefully going to help you in
- getting your music modules from crunched files. Even better for you, I
- shall show you how to recover modules from Non-DOS disks, which you
- can't access in Workbench. Multi-Ripper is the ONLY shareware ripper
- that will allow you to mess around with the sectors on the disk, as
- with any of the other programs, you must register in order just to be
- able to read the disk.
- ÿ
- þ
- I am also going to explain a bit about the encryption routines
- that some of the programmers use in their code to try and "Hide" the
- prescence of a module, as well as some other ways of deciding if a
- module exists, without having to load Multiripper.
-
- Remeber, that not all Non-DOS disks are readable in the ripper. If
- you try and use a disk such as Shadow of the Beast 2, then you will see
- that the ripper cannot register it, where if you use disks such as
- R-Type and Red Sector megademo, it has no problems.
-
- Here are the 2 main things you need to know, starting at the top
- with executable decrunchers.
-
- ü
- EXECUTABLE DECRUNCHERS
- ----------------------
-
- þ
- Often when you are writing a game, you will find that when
- everything is placed on the disk, the program takes up just a few
- extra K's of space than what you can actually use. When this happens,
- people use a "Cruncher" program, which reads the program in, and
- ÿ
- þ
- squashes it up, so that it takes up less space on the disk. When the
- program is then run, it is unpacked, and then executed.
-
- When this happens, the module player will not be able to determine
- what is a module, and what is not. It will more than likely keep
- coming up with jargon than any actual modules. Commonly used
- filecrunchers are Stonecracker, PowerPacker and Crunchmania, which all
- three will NOT decrunch in multi-ripper. Many of the old and exotic
- crunchers will work, as they use the same kind of code as regular
- decrunchers, but perhaps have a different on-screen effect as it is
- unpacking.
-
- There are 2 ways of reading these files into Multiripper. The
- first, being the simple RI (Filename) (address in mem), and then you
- can use a HUNK (adress loaded in) to find the decrunch header.
-
- The program (if it understands all of the decruncher) will ask you
- if you want to Move, Skip or Unpack the decrunched file. It is a good
- idea to move the decruncher to a place in memory that is not used, as
- anything between the 2 addresses shown is completely overwritten.
- ÿ
- þ
- Pressing U will unpack the file. You may have to wait a while,
- depending on how big the file is. With a lot of the decrunchers, the
- screen will be effected, also an indication that the process is
- working. Once unpacked, the program will tell you the start and finish
- address of the program you have just unpacked. If you use the WI
- command with the 2 addresses, you will save a data-file of the
- uncrunched executable, for use in other programs and rippers etc. NOTE
- that the file saved IS NOT executable, as it is the raw data directly
- from the decruncher. The executable bit of the program is scattered
- around somewhere for the convinience of the decruncher.
-
- Sometimes, the program will not be able to understand the
- decruncher either fully, or partly. If it does not recognize it at
- all, it will just skip past it. If it partly-recognizes the cruncher,
- then what it displays will depend on what it understands. The common
- ones are "Unable to locate decrunch address" meaning that you cannot
- move the program around, and you also must unpack it to the address
- that is stated/non stated, which usually results in a crash.
-
- Once you have unpacked the file, you can begin your usual music
- ÿ
- þ
- ripping commands to see if there are any kinds of music modules in
- there at all. Common ways of disguising modules are to make the
- modules look like old Soundtracker modules, which can't be picked in
- in Multi-ripper too well. See the previous part for more information.
-
- When a module has been located, you can save it in the same way
- you would any other module. It should be OK, but some modules tend to
- get a bit of interference inside them, especially if MR is not too
- familiar with the decruncher that was used.
-
-
- û
- SECTOR DECRUNCHERS
- ------------------
-
- þ
- Sector decrunchers are normally the decrunchers that you find on
- the Non-DOS disks such as games and demos. Multiripper can read and
- examine these kind of disks for both decrunchers and music modules.
-
- Firstly, in order for you to do anything, there are 2 commands
- that you can use to look on the disk. The first, and easiest, is the
- ÿ
- þ
- SCAN command, which will scan the disk in the internal drive for
- modules and decrunchers. The addresses of any possibilities found are
- displayed on the screen. The list of all the decrunchers that have
- been found can be called at any time using the LDEC command. With the
- modules however, I think it would be best if you wrote down what you
- find, as they will not be listed on-screen with the LDEC command. Now,
- when you have these numbers, they can be used in conjunction with the
- RS command, as they are the sector numbers the Amiga recognized
- something at. It is always a good idea to add a few numbers to the end
- of the last sector number to make sure that you load all of the needed
- data into memory. Once you have read in the information, you can then
- go onto using the HUNK command and the HUNT command to try and recover
- the data even further. If you manage to find a module/decrunch header
- and the data is not all there, then add a few more to the final
- address of the RS sector, as the information is not being read in to
- be played. With decrunchers, you will be always unpacking lots of 0's,
- or the system could crash, although that has not happened on me yet,
- and I don't really want it to.
-
- The second command is a bit more difficult, and you will need at
- ÿ
- þ
- least 2Mb of RAM in order to pull it off. If you have set your disk up
- the way I told you in the first part of the tutorial, you should see
- that the program kicks in at the beginning of the memory, making the
- startplace of memory at 45000 (disk users) and 75000 (Amiga's with a
- HD). Now, insert the disk and type RS 0 6E0 75000 and hit return. This
- will read the entire disk into memory, up to about 150000, allowing
- you a bit of space for any decrunchers that you should find. If the
- program happents to hit a read error, then the operation will be
- aborted where it is on the disk, and not read any further. Once
- finished reading, you can use a direct HUNT command to look into the
- memory for any modules, or a HUNK command to try and locate a
- decruncher. NOTE that some modules will be messed up slightly from the
- RS method, depending on the cruncher systems that the disk uses. One
- example of a module that will come straight from an RS is the rather
- good title tune from Zool 2. It will rip it clean, and all samples
- too. For more examples of modules that I have ripped, then see further
- down in the document, where I shall give a few working examples.
- Remember, it is illegal to try and sell modules you have ripped from
- any commercial game under your own name, so don't do it !!
-
- ÿ
- þ
- Both of the above methods do exactly the same job, except maybe
- the second method is probably a bit more reliable, as you know then
- that you have all the data needed to play a complete module, or unpack
- a full decruncher.
-
- û
- HIDING THE MODULES
- ------------------
-
- þ
- Don't sneeze whilst typing on the keyboard, and brushing your
- teeth at the same time. You get toothpaste all over the monitor and
- keyboard. Anyhow, enough of my little accident, and back to the
- tutorial. A lot of software houses try and hide their modules by
- putting a form of an encrypter into their modules, to try and stop top
- rippers like myself from extracting them successfully. I have managed
- to crack quite a few of these, but there are the odd few which still
- stump me for a while.
-
- The most common one, which does not really encrypt the module, but
- stumps Multiripper, is to store the module as an old Soundtracker
- module, which uses the standard 15 presets instead of the newer 31
- ÿ
- þ
- presets. The best way around this, is to save the data file you have
- unpacked, and load it into another ripper such as ExtoicRipper, which
- does rip the old Soundtracker modules, and convert them to 31 using
- Protracker or Soundtracker module makers.
-
- Another good one is to alter the way the actual module is read by
- a music player. Let me try and build a picture of the header into your
- head. A music module name consists of 20-22 characters consisting of
- CHR$(0). The name of the module can be no more than 20 characters
- long, as is stored in the first 20 characters of the header. Then, the
- names of all the samples are stored after this, and finally, the song
- and sample data. Now, if you were to change all the 0's in the name to
- a set variable, or just to random numbers, then the module ripper
- would not be able to pick it up because it could not find that final
- 0. Ways around this are to edit the file in a binary editor such as
- DekSID, but you have to know what you are looking for first. The
- sample names are usually kept in, although these can be changed to
- disguise the module a bit too.
-
- Another good way, is to store the song and the samples at
- ÿ
- þ
- different parts of the program. Then, when the program is run, the 2
- parts are pasted together as one in order to play. This is a method
- that I use, and is fairly effective, as you will only be able to rip
- the song information, without any samples.
-
- Sometimes, however, modules just cannot be ripped cleanly.
- Sometimes you can rip the song with no problems, but you will have to
- put the samples in the right place yourselves using a program such as
- Protracker. The samples are often corrupted, but using a professional
- sample editor, you should still be able to remove the individual
- samples without too much hassle.
-
- û
- WAYS OF DETECTING A MOD WITHOUT MULTIRIPPER
- -------------------------------------------
-
- þ
- Now, although Multiripper is very good at ripping modules, it can
- be very tiresome when it comes to loading in loads of files only to
- discover you cannot locate a module.
-
- Any kind of program which has a RAW sample player within it can be
- ÿ
- þ
- used. I have a few small programs in the AMOS library which do the
- same job. The way it works is quite simple. You load in the file you
- wish to examine, and begin playing. If it is not a module, you will
- hear lots of mess in the background. If the program starts playing
- samples from the module you are looking for, such as drum beats,
- cymbals etc., then you are onto a roll. If the file only plays the one
- sample, the chances are that the file you are listening to is a raw
- sample anyway.
-
- You can then load the file into Multiripper and try and extract a
- module from it. Note that you cannot determine if a decruncher exists
- if you use the Directory Opus method.
-
- ý
- EXAMPLE MODULES TO TANTALIZE YOUR TITBITS !!
- --------------------------------------------
-
- þ
- Well, here it is. Some examples from the hundreds of games that I
- have managed to rip tunes from. I have just put the basic instructions
- for use in Multiripper, plus any other instructions that you will need
- in external programs. Here goes :
- ÿ
- ù
- NAME OF PROGRAM METHOD OF EXTRACTION
- ----------------------|----------------------------------------------
- Budbrain 2 demo | Run the demo, and when the tune you want
- | begins to play, reset the computer and use
- | the HUNT command. The modules should
- | appear entact.
- Jaguar XJ 220 | Again, wait till the tune appears and use
- | a standard HUNT command. All the CD tracks
- | are rippable in MR except the first.
- Zool 2 | RS data disk 1 into memory, and use a
- | standard HUNT command to locate the title
- | tune.
- Red Sector Megademo | Locate all the decruncher addresses using
- | one of the above-mentioned methods. Unpack
- | each file in turn, and use a HUNT command.
- | If HUNT fails, save the data file and use
- | ExoticRipper to locate old Soundtracker
- | modules. Not all decrunchers contain
- | modules.
-
- ÿ
- ù
- Funny demo | Uncrunch the executable into memory, and
- | save the data file. Use DekSID to find a
- | sample named BELLS. Change the character
- | 21 characters behind to an ASCII value
- | above 0, and re-write the file. You should
- | be able to rip an old ST module with
- | ExoticRipper. If there are no samples,
- | use a good sample editor to recover them
- | from the data file.
-
- þ
- Well, that is about it. All the others are just the same, so there
- is no point in adding loads of the same kind of rip.
-
- It also brings us to the end of this tutorial. If you are still
- stuck on Multiripper, and need some advice, or perhaps a shareware
- copy of the program, then why not drop me a line. If you want a copy
- of the program, along with any other of the Shareware programs used,
- then send me a disk and a letter telling me what you want, and I will
- be happy to return it to you. If you are interested in AMOS
- programming, then also let me know. Fill the disk with some of your
- ÿ
- þ
- programs so I can include them in the library. The address to send all
- your stuff to is :
-
- ú
- Andrew "Mushroom" Kellett
- Mushroom PD
- 32 Castleton Crescent
- Gamesley
- Glossop
- Derbyshire
- SK13 9TH
- ENGLAND
-
-
- þ
- Several thanx must go out in this tutorial, the main going to
- Erland Simonsen, author of the amazing Multiripper. Here is a list of
- all programs which you should have in your posession in order to rip
- modules on a high basis :
-
-
-
- ÿ
- û
- MultiRipper V3 (Shareware)
- ExoticRipper (Shareware)
- DekSID (Shareware)
- Directory Opus
- PRO Sample Player (Freeware)
- Noiseplayer (Freeware)
- Smartplay (Freeware)
-
- þ
- I have several other tutorials available. These include routines
- for AMOS and AMOSPro, and consist of Graphic equalizers, and how to
- make tracker demos, as well as being able to recognize tracker modules
- from within AMOS. If you want any of these, then please ensure that
- you enclose a disk for me to include them on.
-
- So, until we happen to meet again, it is goodbye from me, and
- goodbye from Millie.
-
- ú
- [Andrew "Mushroom" Kellett]
-
- ÷
- EOF
-
-
-